// admin/system/model/gen_table_column.go
package model

import (
	"time"
)

// GenTableColumn 代码生成业务表字段
type GenTableColumn struct {
	ColumnID      int64      `json:"column_id" gorm:"column:column_id;primaryKey;autoIncrement;comment:编号"`
	TableID       *int64     `json:"table_id,omitempty" gorm:"column:table_id;comment:归属表编号"`
	ColumnName    *string    `json:"column_name,omitempty" gorm:"column:column_name;size:200;comment:列名称"`
	ColumnComment *string    `json:"column_comment,omitempty" gorm:"column:column_comment;size:500;comment:列描述"`
	ColumnType    *string    `json:"column_type,omitempty" gorm:"column:column_type;size:100;comment:列类型"`
	JavaType      *string    `json:"java_type,omitempty" gorm:"column:java_type;size:500;comment:JAVA类型"`
	JavaField     *string    `json:"java_field,omitempty" gorm:"column:java_field;size:200;comment:JAVA字段名"`
	IsPk          *string    `json:"is_pk,omitempty" gorm:"column:is_pk;size:1;comment:是否主键（1是）"`
	IsIncrement   *string    `json:"is_increment,omitempty" gorm:"column:is_increment;size:1;comment:是否自增（1是）"`
	IsRequired    *string    `json:"is_required,omitempty" gorm:"column:is_required;size:1;comment:是否必填（1是）"`
	IsInsert      *string    `json:"is_insert,omitempty" gorm:"column:is_insert;size:1;comment:是否为插入字段（1是）"`
	IsEdit        *string    `json:"is_edit,omitempty" gorm:"column:is_edit;size:1;comment:是否编辑字段（1是）"`
	IsList        *string    `json:"is_list,omitempty" gorm:"column:is_list;size:1;comment:是否列表字段（1是）"`
	IsQuery       *string    `json:"is_query,omitempty" gorm:"column:is_query;size:1;comment:是否查询字段（1是）"`
	QueryType     string     `json:"query_type" gorm:"column:query_type;size:200;default:'EQ';comment:查询方式（等于、不等于、大于、小于、范围）"`
	HtmlType      *string    `json:"html_type,omitempty" gorm:"column:html_type;size:200;comment:显示类型（文本框、文本域、下拉框、复选框、单选框、日期控件）"`
	DictType      string     `json:"dict_type" gorm:"column:dict_type;size:200;default:'';comment:字典类型"`
	Sort          *int       `json:"sort,omitempty" gorm:"column:sort;comment:排序"`
	CreateBy      string     `json:"create_by" gorm:"column:create_by;size:64;default:'';comment:创建者"`
	CreateTime    *time.Time `json:"create_time,omitempty" gorm:"column:create_time;comment:创建时间"`
	UpdateBy      string     `json:"update_by" gorm:"column:update_by;size:64;default:'';comment:更新者"`
	UpdateTime    *time.Time `json:"update_time,omitempty" gorm:"column:update_time;comment:更新时间"`
}

// TableName 获取表名
func (GenTableColumn) TableName() string {
	return "gen_table_column"
}
